package  main.java.leetcode.editor.cn;
//2022-04-16 19:04:14
//给定一个整数 n ，返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大，所以返回它对 1337 取余 。 
//
// 
//
// 示例 1: 
//
// 
//输入：n = 2
//输出：987
//解释：99 x 91 = 9009, 9009 % 1337 = 987
// 
//
// 示例 2: 
//
// 
//输入： n = 1
//输出： 9
// 
//
// 
//
// 提示: 
//
// 
// 1 <= n <= 8 
// 
// Related Topics 数学 
// 👍 94 👎 0

class LargestPalindromeProduct {
    public static void main(String[] args) {
        //创建该题目的对象方便调用
        Solution solution = new LargestPalindromeProduct().new Solution();
//        System.out.println(solution.isPalindrome(1998991));
    }
    //leetcode submit region begin(Prohibit modification and deletion)
class Solution {
    public int largestPalindrome(int n) {
        if(n == 1){
            return 9;
        }
        int num = (int) (Math.pow(10,n)-1);
        for(int i = num;i>=0;i--){
            long max = i;
            long t = i;
            while (t!=0){
                max = max*10+t%10;
                t = t/10;
            }
            for(long j=num;j*j>=max;j--){
                if(max%j==0){
                    return (int) (max%1337);
                }
            }
        }
        return -1;
    }
}
//leetcode submit region end(Prohibit modification and deletion)

}
